/*
 * @Author: shanghongyun 2879455630@qq.com
 * @Date: 2025-05-30 13:17:31
 * @LastEditors: shanghongyun 2879455630@qq.com
 * @LastEditTime: 2025-06-19 14:03:15
 * @FilePath: \A05\Dev\gpio.c
 * @Description: GPIO配置文件
 */


#include "dev.h"

/**
 * @description: GPIO配置 无复用功能
 * @return {*}
 */
void gpio_config(void){

    /*电池长度检测*/
    GPIO_SetMode(L_BAT_LENTH_DET_PORT, L_BAT_LENTH_DET_PIN, GPIO_MODE_QUASI);
    GPIO_SetMode(R_BAT_LENTH_DET_PORT, R_BAT_LENTH_DET_PIN, GPIO_MODE_QUASI);

    /*实现数字输入*/
    L_GET_BAT_LENTH() = 1;
    R_GET_BAT_LENTH() = 1;

    /*按键检测*/
    GPIO_SetMode(KEYL_PORT, KEYL_PIN, GPIO_MODE_QUASI);
    GPIO_SetMode(KEYR_PORT, KEYR_PIN, GPIO_MODE_QUASI);
    Get_KeyL() = 1;
    Get_KeyR() = 1;

    /*充电开启/关闭*/
    GPIO_SetMode(CHARGE_L_PORT, CHARGE_L_PIN, GPIO_MODE_OUTPUT);
    GPIO_SetMode(CHARGE_R_PORT, CHARGE_R_PIN, GPIO_MODE_OUTPUT);
    DIS_CHARGE_L();
    DIS_CHARGE_R();

    /*IIC*/
    GPIO_SetMode(DISPLAY_SCL_PORT, DISPLAY_SCL_PIN, GPIO_MODE_OPEN_DRAIN);
    GPIO_SetMode(DISPLAY_SDA_PORT, DISPLAY_SDA_PIN, GPIO_MODE_OPEN_DRAIN);

    QC_LOW;
    /*QC控制*/
    GPIO_SetMode(QC_PORT, QC_PIN, GPIO_MODE_OUTPUT);
    QC_LOW;

    // GPIO_SetMode(PD, BIT6, GPIO_MODE_OPEN_DRAIN);
    // PD6 = 0;

}



